Block and Interact

I want to interact with an open module while a dialog is blocked. I notice that when you open the module and then block the dialog, the module windows is locked. But if you open the module AFTER the block, say in a "Raise Module" callback button, you can then indeed interact with the module to a limited degree, although most functions don't work ('find' dialog does not open).

I notice the "raise" only works when the module is actually opened, meaning if its open you must first close it and then re-open it.

I wonder if I can allow interaction with a module:
1 without having to close the module first, since I'm dealing with a very large module
2 allow much more serious interaction with the module (sorts) while the block dialog is active.

Code demonstrates it. If the module is already open, "Read" and "Edit" don't allow interaction. Opening after Realize doesn't work either.

string NameMod = "NameModuleInThisFolder")
DB    db
 
void    btnCloseOpen(DBE dbeXX)
{
        Module mod = module(item NameMod)
        if (!null mod) close(mod)
        read(NameMod, true, true)
}
 
void    btnRead(DBE dbeXX)
{
        read(NameMod, true, true)
}
 
void    btnEdit(DBE dbeXX)
{
        edit(NameMod, true, true, true)
}
 
void    applyClose(DB dbXX)
{     release(db)
}
 
void    BuildDialog()
{
        db      = create("Block-Open")
        button(db, "Close-Open", btnCloseOpen)
                beside(db)
        button(db, "Read", btnRead)
        button(db, "Edit", btnEdit)
        close(db, true, applyClose)
        realize(db, 30, 30)
if (confirm("Open after Realize?")) read(NameMod, true, true)
        block(db)
        destroy(db)
}
 
read(NameMod, true, true)
BuildDialog()

llandale - Wed Aug 31 09:38:48 EDT 2011